The Internet and the World Wide Web (the “Web”) have become ubiquitous. Content providers (publishers) now use the Internet (and, particularly, the Web) to provide all sorts of content to numerous clients all over the world. In order to offload the job of serving some or all of their content, many content providers now subscribe to content delivery networks (CDNs). Using a CDN, content can be served to clients from the CDN (i.e., from one or more servers in the CDN) instead of from the content provider's server(s). In a caching CDN, content may also be cached on some or all of the CDN servers, either before being served or in response to specific requests for that content. Having content cached within edge servers of the CDN enhances the performance of the CDN because the content does not have to be retrieved from origin servers or other locations, which are less efficient than edge servers in providing content.
Numerous forms of content may be served from the CDN. For example, television shows and movies may now be accessed from any number of Web sites, and the shows and movies may actually be served from the CDN. Print newspapers have migrated to the Web and provide portals through which clients operating some form of computing device (e.g., PC, smart phone, or tablet), with a browser may access numerous forms of content, such as short video clips, articles, images, and audio tracks. Software updates and patches, once only provided on disc and mailed to recipients, are now routinely distributed to devices using only network connections, and the updates and patches are delivered from a CDN.
A conventional CDN faces various obstacles with respect to network flow and bandwith when distributing content to devices and/or applications. For example, a device may be operating in a network with bandwith limitations that affect the delivery of content to the device such that the device is confined to receiving content from a limited number of applications. Further, certain types of applications may be expected to operate with high performance and minimal issues. More specifically, it may be desirable to have better content delivery associated with certain types of applications in order to reduce buffering or to enable such applications to perform in real-time. Further, not all applications behave alike. Some types of applications make use of content received from the CDN more efficiently than others and can consequently handle faster data transmission of content from the CDN.
It is with these observations in mind, among others, that various aspects of the present disclosure were conceived and developed.